-- File Name : 8282L84.BSD -- Created by : Altera Corporation -- Documentation : FLEX 8000 Family Datasheet -- AN39 - JTAG Boundary Testing in FLEX 8000 Devices -- Other important information is included in the -- readme.txt file included with the BSDL files. -- BSDL revision : 2.0 -- BSDL status : Preliminary -- Date created : 12/06/94 -- Device : EPF8282 -- Package : 84-pin Plastic Leadless Chip Carrier (PLCC) -- -- Model Verification : Verified by Teradyne VICTORY 2.2 -- - Syntax check -- -- IMPORTANT NOTICE -- -- Altera, and EPF8282 are trademarks of Altera Corporation. -- Altera products, marketed under trademarks are protected -- under numerous US and foreign patents and pending -- applications, maskwork rights, and copyrights. Altera -- warrants performance of its semiconductor products to -- current specifications in accordance with Altera's standard -- warranty, but reserves the right to make changes to any -- products and services at any tiMe without notice. Altera -- assumes no responsibility or liability arising out of the -- application or use of any information, product, or service -- described herein except as expressly agreed to in writing -- by Altera Corporation. Altera customers are advised to -- obtain the latest version of device specifications before -- relying on any published information and before placing -- orders for products or services. -- -- Special Usage Notes -- for -- CONF_DONE, nSTATUS, and DCLK pins -- -- The functionality of these pins depends on whether JTAG -- testing is performed prior to device configuration or after -- the Device has been configured. When he device is configured -- CONF_DONE, nSTATUS, and nCONFIG pins will be high. -- -- CONF_DONE and nSTATUS: -- ---------------------- -- Before Configuration, these pins are outputs and will remain -- at logic level low. These must be declared as Linkage pins and -- the Boundary-Scan (BS) cells associated with them must be decalred as -- internals. -- After Configurations, these pins are inputs and must be pulled high -- at all times with an external pull up resistor. This is reflected -- by declaring them as inputs and declaring the BS cells associated -- with them as input cells. -- The BSDL file is written with nSTATUS and CONF_DONE pins as linkage -- If you wish to use JTAG in user mode and you would like to use these -- pins as inputs you must change their decleration from linkage to in -- and edit to internal cell to an input. -- -- DCLK: -- ----- -- Before configuartions, this pin is an input. -- After configuration, the user can select to make this pin as an -- output by selecting a special option in the software. If this -- option is selected then this pin must be declared as linkage and -- the BS cell associated with it becomes an internal cell. If on -- the other hand, the user did not select this option, this will be -- an input and the BSDL file should reflect that. -- This BSDL file is written with DCLK as an input. If you would like -- to use JTAG in user mode and DCLK is an slected to be an output, you -- must change the pin declaration from in to linkage and change the -- cell from input to internal. -- -- For further information on how to change the BSDL file contact the -- applications Hot Line at (800) 800-EPLD. -- -- -- entity epf8282lc84 is generic (PHYSICAL_PIN_MAP : string := "PLCC84"); port ( IOE :inout bit_vector(1 to 60); nSP :in bit; MSEL0 :in bit; MSEL1 :in bit; nCONFIG :in bit; nSTATUS :linkage bit; CONF_DONE :linkage bit; DCLK :in bit; TCK :in bit; TDI :in bit; TDO :out bit; TMS :in bit; nTRST :in bit; DIN :in bit_vector(1 to 4); VCC :linkage bit_vector(1 to 4); GND :linkage bit_vector(1 to 4)); use STD_1149_1_1990.all; -- Get standard attributes and definitions attribute PIN_MAP of epf8282lc84 : entity is PHYSICAL_PIN_MAP; constant PLCC84 : PIN_MAP_STRING := "IOE:(1,2,3,4,6,7,8,9,13,14,15,16,18,19,"& "21,22,23,24,25,28,29,30,34,35,36,37,39,40,"& "41,42,43,44,45,46,48,49,50,51,56,57,58,60,"& "61,62,63,64,65,66,67,69,70,71,76,77,78,79,81,82,83,84),"& "nSP:75, "& "MSEL0:74,"& "MSEL1:53,"& "nSTATUS:32,"& "nCONFIG:33,"& "DCLK:10,"& "CONF_DONE:11, "& "TCK:72,"& "TDI:55,"& "TDO:27,"& "TMS:20,"& "nTRST:52," & "DIN:(12,31,54,73)," & "VCC:(17,38,59,80),"& "GND:(5,26,47,68) "; attribute TAP_SCAN_IN of TDI : signal is true; attribute TAP_SCAN_MODE of TMS : signal is true; attribute TAP_SCAN_OUT of TDO : signal is true; attribute TAP_SCAN_RESET of nTRST : signal is true; attribute TAP_SCAN_CLOCK of TCK : signal is (10.00e6, BOTH); attribute INSTRUCTION_LENGTH of epf8282lc84 : entity is 3; attribute INSTRUCTION_OPCODE of epf8282lc84 : entity is "EXTEST (000), " & "BYPASS (111), " & "SAMPLE (101) "; attribute INSTRUCTION_CAPTURE of epf8282lc84 : entity is "101"; attribute BOUNDARY_CELLS of epf8282lc84 :entity is "BC_1,BC_4"; attribute BOUNDARY_LENGTH of epf8282lc84 :entity is 273; attribute BOUNDARY_REGISTER of epf8282lc84 :entity is "0 (BC_1, DIN(3), input, X ), " & -- scan 91 "1 (BC_4, *, internal, X ), " & "2 (BC_4, *, internal, X ), " & "3 (BC_4, MSEL1, input, X ), " & -- scan 90 "4 (BC_4, *, internal, X ), " & "5 (BC_4, *, internal, X ), " & "6 (BC_1, IOE(38), input, X ), " & -- scan 89 "7 (BC_1, *, control, 1 ), " & "8 (BC_1, IOE(38), output3, X , 7, 1, Z), " & "9 (BC_4, *, internal, X ), " & -- Double-bonded pad, ignore data "10 (BC_4, *, internal, X ), " & -- scan 88 "11 (BC_4, *, internal, X ), " & "12 (BC_1, IOE(37), input, X ), " & -- scan 87 "13 (BC_1, *, control, 1 ), " & "14 (BC_1, IOE(37), output3, X , 13, 1, Z), " & "15 (BC_4, *, internal, X ), " & -- Double-bonded pad, ignore data "16 (BC_4, *, internal, X ), " & -- scan 86 "17 (BC_4, *, internal, X ), " & "18 (BC_1, IOE(36), input, X ), " & -- scan 85 "19 (BC_1, *, control, 1 ), " & "20 (BC_1, IOE(36), output3, X , 19, 1, Z), " & "21 (BC_4, *, internal, X ), " & -- Double-bonded pad, ignore data "22 (BC_4, *, internal, X ), " & -- scan 84 "23 (BC_4, *, internal, X ), " & "24 (BC_1, IOE(35), input, X ), " & -- scan 83 "25 (BC_1, *, control, 1 ), " & "26 (BC_1, IOE(35), output3, X , 25, 1, Z), " & "27 (BC_4, *, internal, X ), " & -- Double-bonded pad, ignore data "28 (BC_4, *, internal, X ), " & -- scan 82 "29 (BC_4, *, internal, X ), " & "30 (BC_1, IOE(34), input, X ), " & -- scan 81 "31 (BC_1, *, control, 1 ), " & "32 (BC_1, IOE(34), output3, X , 31, 1, Z), " & "33 (BC_4, *, internal, X ), " & -- Double-bonded pad, ignore data "34 (BC_4, *, internal, X ), " & -- scan 80 "35 (BC_4, *, internal, X ), " & "36 (BC_1, IOE(33), input, X ), " & -- scan 79 "37 (BC_1, *, control, 1 ), " & "38 (BC_1, IOE(33), output3, X , 37, 1, Z), " & "39 (BC_4, *, internal, X ), " & -- Double-bonded pad, ignore data "40 (BC_4, *, internal, X ), " & -- scan 78 "41 (BC_4, *, internal, X ), " & "42 (BC_1, IOE(32), input, X ), " & -- scan 77 "43 (BC_1, *, control, 1 ), " & "44 (BC_1, IOE(32), output3, X , 43, 1, Z), " & "45 (BC_4, *, internal, X ), " & -- Double-bonded pad, ignore data "46 (BC_4, *, internal, X ), " & -- scan 76 "47 (BC_4, *, internal, X ), " & "48 (BC_1, IOE(31), input, X ), " & -- scan 75 "49 (BC_1, *, control, 1 ), " & "50 (BC_1, IOE(31), output3, X , 49, 1, Z), " & "51 (BC_4, *, internal, X ), " & -- Double-bonded pad, ignore data "52 (BC_4, *, internal, X ), " & -- scan 74 "53 (BC_4, *, internal, X ), " & "54 (BC_1, IOE(30), input, X ), " & -- scan 73 "55 (BC_1, *, control, 1 ), " & "56 (BC_1, IOE(30), output3, X , 55, 1, Z), " & "57 (BC_1, IOE(29), input, X ), " & -- scan 72 "58 (BC_1, *, control, 1 ), " & "59 (BC_1, IOE(29), output3, X , 58, 1, Z), " & "60 (BC_1, IOE(28), input, X ), " & -- scan 71 "61 (BC_1, *, control, 1 ), " & "62 (BC_1, IOE(28), output3, X , 61, 1, Z), " & "63 (BC_4, *, internal, X ), " & -- Double-bonded pad, ignore data "64 (BC_4, *, internal, X ), " & -- scan 70 "65 (BC_4, *, internal, X ), " & "66 (BC_1, IOE(27), input, X ), " & -- scan 69 "67 (BC_1, *, control, 1 ), " & "68 (BC_1, IOE(27), output3, X , 67, 1, Z), " & "69 (BC_1, IOE(26), input, X ), " & -- scan 68 "70 (BC_1, *, control, 1 ), " & "71 (BC_1, IOE(26), output3, X , 70, 1, Z), " & "72 (BC_1, IOE(25), input, X ), " & -- scan 67 "73 (BC_1, *, control, 1 ), " & "74 (BC_1, IOE(25), output3, X , 73, 1, Z), " & "75 (BC_4, *, internal, X ), " & -- Double-bonded pad, ignore data "76 (BC_4, *, internal, X ), " & -- scan 66 "77 (BC_4, *, internal, X ), " & "78 (BC_1, IOE(24), input, X ), " & -- scan 65 "79 (BC_1, *, control, 1 ), " & "80 (BC_1, IOE(24), output3, X , 79, 1, Z), " & "81 (BC_1, IOE(23), input, X ), " & -- scan 64 "82 (BC_1, *, control, 1 ), " & "83 (BC_1, IOE(23), output3, X , 82, 1, Z), " & "84 (BC_4, nCONFIG, input, X ), " & -- scan 63 "85 (BC_4, *, internal, X ), " & "86 (BC_4, *, internal, X ), " & "87 (BC_4, *, internal, X ), " & -- scan 62 {nSTATUS} "88 (BC_4, *, internal, X ), " & "89 (BC_4, *, internal, X ), " & "90 (BC_1, DIN(2), input, X ), " & -- scan 61 "91 (BC_4, *, internal, X ), " & "92 (BC_4, *, internal, X ), " & "93 (BC_1, IOE(22), input, X ), " & -- scan 60 "94 (BC_1, *, control, 1 ), " & "95 (BC_1, IOE(22), output3, X , 94, 1, Z), " & "96 (BC_1, IOE(21), input, X ), " & -- scan 59 "97 (BC_1, *, control, 1 ), " & "98 (BC_1, IOE(21), output3, X , 97, 1, Z), " & "99 (BC_1, IOE(20), input, X ), " & -- scan 58 "100 (BC_1, *, control, 1 ), " & "101 (BC_1, IOE(20), output3, X , 100, 1, Z), " & "102 (BC_1, IOE(19), input, X ), " & -- scan 57 "103 (BC_1, *, control, 1 ), " & "104 (BC_1, IOE(19), output3, X , 103, 1, Z), " & "105 (BC_1, IOE(18), input, X ), " & -- scan 56 "106 (BC_1, *, control, 1 ), " & "107 (BC_1, IOE(18), output3, X , 106, 1, Z), " & "108 (BC_1, IOE(17), input, X ), " & -- scan 55 "109 (BC_1, *, control, 1 ), " & "110 (BC_1, IOE(17), output3, X , 109, 1, Z), " & "111 (BC_1, IOE(16), input, X ), " & -- scan 54 "112 (BC_1, *, control, 1 ), " & "113 (BC_1, IOE(16), output3, X , 112, 1, Z), " & "114 (BC_1, IOE(15), input, X ), " & -- scan 53 "115 (BC_1, *, control, 1 ), " & "116 (BC_1, IOE(15), output3, X , 115, 1, Z), " & "117 (BC_1, IOE(14), input, X ), " & -- scan 52 "118 (BC_1, *, control, 1 ), " & "119 (BC_1, IOE(14), output3, X , 118, 1, Z), " & "120 (BC_1, IOE(13), input, X ), " & -- scan 51 "121 (BC_1, *, control, 1 ), " & "122 (BC_1, IOE(13), output3, X , 121, 1, Z), " & "123 (BC_1, IOE(12), input, X ), " & -- scan 50 "124 (BC_1, *, control, 1 ), " & "125 (BC_1, IOE(12), output3, X , 124, 1, Z), " & "126 (BC_1, IOE(11), input, X ), " & -- scan 49 "127 (BC_1, *, control, 1 ), " & "128 (BC_1, IOE(11), output3, X , 127, 1, Z), " & "129 (BC_1, IOE(10), input, X ), " & -- scan 48 "130 (BC_1, *, control, 1 ), " & "131 (BC_1, IOE(10), output3, X , 130, 1, Z), " & "132 (BC_1, IOE(9), input, X ), " & -- scan 47 "133 (BC_1, *, control, 1 ), " & "134 (BC_1, IOE(9), output3, X , 133, 1, Z), " & "135 (BC_1, DIN(1), input, X ), " & -- scan 46 "136 (BC_4, *, internal, X ), " & "137 (BC_4, *, internal, X ), " & ------------------------------------------------------------ -- Uncomment the following line if Using JTAG -- -- with Device In USER Mode -- ------------------------------------------------------------ "138 (BC_4,CONF_DONE, input, X ), " & -- scan 45 ------------------------------------------------------------ -- Uncomment the following line if Using JTAG -- -- with Device NOT Configured -- ------------------------------------------------------------ -- "138 (BC_4,*, internal, X ), " & -- scan 45 "139 (BC_4, *, internal, X ), " & "140 (BC_4, *, internal, X ), " & ------------------------------------------------------------ -- Uncomment the following line if Using JTAG with -- -- Device NOT CONFIGURED, OR if device is in USER -- -- mode and the "Enable DCLK output in USER Mode" -- -- is NOT selected -- ------------------------------------------------------------ "141 (BC_4, DCLK, input, X ), " & -- scan 44 ------------------------------------------------------------ -- Uncomment the following line if Using JTAG with -- -- Device in USER mode and the "Enable DCLK output -- -- in USER Mode" is SELECTED -- ------------------------------------------------------------ -- "141 (BC_4, *, internal, X ), " & -- scan 44 "142 (BC_4, *, internal, X ), " & "143 (BC_4, *, internal, X ), " & "144 (BC_1, IOE(8), input, X ), " & -- scan 43 "145 (BC_1, *, control, 1 ), " & "146 (BC_1, IOE(8), output3, X , 145, 1, Z), " & "147 (BC_4, *, internal, X ), " & -- Double-bonded pad, ignore data "148 (BC_4, *, internal, X ), " & -- scan 42 "149 (BC_4, *, internal, X ), " & "150 (BC_1, IOE(7), input, X ), " & -- scan 41 "151 (BC_1, *, control, 1 ), " & "152 (BC_1, IOE(7), output3, X , 151, 1, Z), " & "153 (BC_4, *, internal, X ), " & -- Double-bonded pad, ignore data "154 (BC_4, *, internal, X ), " & -- scan 40 "155 (BC_4, *, internal, X ), " & "156 (BC_1, IOE(6), input, X ), " & -- scan 39 "157 (BC_1, *, control, 1 ), " & "158 (BC_1, IOE(6), output3, X , 157, 1, Z), " & "159 (BC_4, *, internal, X ), " & -- Double-bonded pad, ignore data "160 (BC_4, *, internal, X ), " & -- scan 38 "161 (BC_4, *, internal, X ), " & "162 (BC_1, IOE(5), input, X ), " & -- scan 37 "163 (BC_1, *, control, 1 ), " & "164 (BC_1, IOE(5), output3, X , 163, 1, Z), " & "165 (BC_4, *, internal, X ), " & -- Double-bonded pad, ignore data "166 (BC_4, *, internal, X ), " & -- scan 36 "167 (BC_4, *, internal, X ), " & "168 (BC_1, IOE(4), input, X ), " & -- scan 35 "169 (BC_1, *, control, 1 ), " & "170 (BC_1, IOE(4), output3, X , 169, 1, Z), " & "171 (BC_4, *, internal, X ), " & -- Double-bonded pad, ignore data "172 (BC_4, *, internal, X ), " & -- scan 34 "173 (BC_4, *, internal, X ), " & "174 (BC_1, IOE(3), input, X ), " & -- scan 33 "175 (BC_1, *, control, 1 ), " & "176 (BC_1, IOE(3), output3, X , 175, 1, Z), " & "177 (BC_4, *, internal, X ), " & -- Double-bonded pad, ignore data "178 (BC_4, *, internal, X ), " & -- scan 32 "179 (BC_4, *, internal, X ), " & "180 (BC_1, IOE(2), input, X ), " & -- scan 31 "181 (BC_1, *, control, 1 ), " & "182 (BC_1, IOE(2), output3, X , 181, 1, Z), " & "183 (BC_4, *, internal, X ), " & -- Double-bonded pad, ignore data "184 (BC_4, *, internal, X ), " & -- scan 30 "185 (BC_4, *, internal, X ), " & "186 (BC_1, IOE(1), input, X ), " & -- scan 29 "187 (BC_1, *, control, 1 ), " & "188 (BC_1, IOE(1), output3, X , 187, 1, Z), " & "189 (BC_4, *, internal, X ), " & -- Double-bonded pad, ignore data "190 (BC_4, *, internal, X ), " & -- scan 28 "191 (BC_4, *, internal, X ), " & "192 (BC_1, IOE(60), input, X ), " & -- scan 27 "193 (BC_1, *, control, 1 ), " & "194 (BC_1, IOE(60), output3, X , 193, 1, Z), " & "195 (BC_1, IOE(59), input, X ), " & -- scan 26 "196 (BC_1, *, control, 1 ), " & "197 (BC_1, IOE(59), output3, X , 196, 1, Z), " & "198 (BC_1, IOE(58), input, X ), " & -- scan 25 "199 (BC_1, *, control, 1 ), " & "200 (BC_1, IOE(58), output3, X , 199, 1, Z), " & "201 (BC_4, *, internal, X ), " & -- Double-bonded pad, ignore data "202 (BC_4, *, internal, X ), " & -- scan 24 "203 (BC_4, *, internal, X ), " & "204 (BC_1, IOE(57), input, X ), " & -- scan 23 "205 (BC_1, *, control, 1 ), " & "206 (BC_1, IOE(57), output3, X , 205, 1, Z), " & "207 (BC_1, IOE(56), input, X ), " & -- scan 22 "208 (BC_1, *, control, 1 ), " & "209 (BC_1, IOE(56), output3, X , 208, 1, Z), " & "210 (BC_1, IOE(55), input, X ), " & -- scan 21 "211 (BC_1, *, control, 1 ), " & "212 (BC_1, IOE(55), output3, X , 211, 1, Z), " & "213 (BC_4, *, internal, X ), " & -- Double-bonded pad, ignore data "214 (BC_4, *, internal, X ), " & -- scan 20 "215 (BC_4, *, internal, X ), " & "216 (BC_1, IOE(54), input, X ), " & -- scan 19 "217 (BC_1, *, control, 1 ), " & "218 (BC_1, IOE(54), output3, X , 217, 1, Z), " & "219 (BC_1, IOE(53), input, X ), " & -- scan 18 "220 (BC_1, *, control, 1 ), " & "221 (BC_1, IOE(53), output3, X , 220, 1, Z), " & "222 (BC_4, nSP, input, X ), " & -- scan 17 "223 (BC_4, *, internal, X ), " & "224 (BC_4, *, internal, X ), " & "225 (BC_4, MSEL0, input, X ), " & -- scan 16 "226 (BC_4, *, internal, X ), " & "227 (BC_4, *, internal, X ), " & "228 (BC_1, DIN(4), input, X ), " & -- scan 15 "229 (BC_4, *, internal, X ), " & "230 (BC_4, *, internal, X ), " & "231 (BC_1, IOE(52), input, X ), " & -- scan 14 "232 (BC_1, *, control, 1 ), " & "233 (BC_1, IOE(52), output3, X , 232, 1, Z), " & "234 (BC_1, IOE(51), input, X ), " & -- scan 13 "235 (BC_1, *, control, 1 ), " & "236 (BC_1, IOE(51), output3, X , 235, 1, Z), " & "237 (BC_1, IOE(50), input, X ), " & -- scan 12 "238 (BC_1, *, control, 1 ), " & "239 (BC_1, IOE(50), output3, X , 238, 1, Z), " & "240 (BC_1, IOE(49), input, X ), " & -- scan 11 "241 (BC_1, *, control, 1 ), " & "242 (BC_1, IOE(49), output3, X , 241, 1, Z), " & "243 (BC_1, IOE(48), input, X ), " & -- scan 10 "244 (BC_1, *, control, 1 ), " & "245 (BC_1, IOE(48), output3, X , 244, 1, Z), " & "246 (BC_1, IOE(47), input, X ), " & -- scan 9 "247 (BC_1, *, control, 1 ), " & "248 (BC_1, IOE(47), output3, X , 247, 1, Z), " & "249 (BC_1, IOE(46), input, X ), " & -- scan 8 "250 (BC_1, *, control, 1 ), " & "251 (BC_1, IOE(46), output3, X , 250, 1, Z), " & "252 (BC_1, IOE(45), input, X ), " & -- scan 7 "253 (BC_1, *, control, 1 ), " & "254 (BC_1, IOE(45), output3, X , 253, 1, Z), " & "255 (BC_1, IOE(44), input, X ), " & -- scan 6 "256 (BC_1, *, control, 1 ), " & "257 (BC_1, IOE(44), output3, X , 256, 1, Z), " & "258 (BC_1, IOE(43), input, X ), " & -- scan 5 "259 (BC_1, *, control, 1 ), " & "260 (BC_1, IOE(43), output3, X , 259, 1, Z), " & "261 (BC_1, IOE(42), input, X ), " & -- scan 4 "262 (BC_1, *, control, 1 ), " & "263 (BC_1, IOE(42), output3, X , 262, 1, Z), " & "264 (BC_1, IOE(41), input, X ), " & -- scan 3 "265 (BC_1, *, control, 1 ), " & "266 (BC_1, IOE(41), output3, X , 265, 1, Z), " & "267 (BC_1, IOE(40), input, X ), " & -- scan 2 "268 (BC_1, *, control, 1 ), " & "269 (BC_1, IOE(40), output3, X , 268, 1, Z), " & "270 (BC_1, IOE(39), input, X ), " & -- scan 1 "271 (BC_1, *, control, 1 ), " & "272 (BC_1, IOE(39), output3, X , 271, 1, Z) "; end epf8282lc84;